<h1 class="pagetitle">Editar Guia</h1>
<%= error_messages_for :guia %>
<div class='column1-unit'>
  <div class='form'>
    <% form_remote_tag :update => "result", :url => {:action => "addTrabalhos"},
                :complete => visual_effect(:blind_down, "result"),
                :before => %(Element.show('spinner')),
                :success => %(Element.hide('spinner')) do %>
      <div class='column1-unit'>
        <label for="procedimento_quantidade">Quantidade:</label>
        <%= text_field :procedimento,
                    :quantidade, :size => 10, :class => "field" ,
                    :onkeyup => "javascript:somente_numero(this); disabilitaAllRadio(this);",
                    :onkeypress =>"javascript:disabilitaAllRadio(this);" %>
      </div>
    
      <div class='column3-unit-left'>
        <p>
        <%= radio_button_tag :quantidade,0, false, :onclick => "javascript: livre(this);",
                    :disabled => true%> Livre
        <p/>
        <p>
        <%= radio_button_tag :quantidade,10, false, :onclick => "javascript:marcaDez(this); ", :disabled => true%>1..10
        <p/>
      </div>
    
      <div class='column3-unit-middle'>
        <p>
          <%= radio_button_tag :quantidade,11, false, :onclick => "javascript:marcaUmAOnze(this); ", :disabled => true%>1..11
        </p>
        <p>
        <%= radio_button_tag :quantidade,5, false, :onclick => "javascript:marcaUmACinco(this); " , :disabled => true%>1..5
        <p/>
      </div>
    
      <div class='column3-unit-right'>
        <p>
          <%= radio_button_tag :quantidade,6, false, :onclick => "javascript:marcaSeisADez(this); "  , :disabled => true%>6..10
        </p>
        <p>
          <%= radio_button_tag :quantidade,12, false , :onclick => "javascript:marcaOnze(this); ", :disabled => true %>11
        </p>
      </div>
    
      <br/>
    
      <div class='column1-unit-left'>
        <%tableize @proc,
                    :generate_css => false,
                    :html => {:class => "tableize_cadguias"},
                    :cols => 3 do |proc|%>
          <p>
            <span class="tableize_checkbox">
              <%= check_box_tag "checkBoxProc_#{proc[1]}","", false, :disabled => true%>&nbsp;<%=proc[0]%>
            </span>
            <span class="tableize_textfiled">
              <%= text_field_tag "textFieldProc_#{proc[1]}", nil,
                          :size => 5,
                          :maxlength => 5 ,
                          :disabled => true,
                          :onkeyup => "javascript:somente_numero(this); preencheCheckBox(this); "%>
            </span>
          </p>
        <%end%>
      </div>
      <br/>
      <%= submit_tag "Adicionar",
                  :id=>'submitbutton1',
                  :class => "button",
                  :disabled => true,
                  :onclick => "javascript: document.getElementById('guia_numeroguiaprincipal').focus();", :style => "float:rigth"%>
      &nbsp;<span id="spinner" style="display: none">Aguarde...</span>
      <br
      <%end%>
      <hr class="clear-contentunit">
    <div id="result">
      <div class='tabela'>
        <table>
          <tbody>
            <th class="top" scope="col">Código</th>
            <th class="top" scope="col">Tipo</th>
            <th class="top" scope="col">Descrição</th>
            <th class="top" scope="col">Quantidade</th>
            <%@guia.trabalhos.each do |t| %>
              <tr class="<%= cycle("even", "odd") -%>">
                  <td><center><%= h t.procedimento.codigo %></center></td>
                <td><center><%= h t.procedimento.tipo %></center></td>
                <td><center><%= h t.procedimento.descricao %></center></td>
                <td><center><%=h t.quantidade%></center></td>
              </tr>
            <% end %>
          </tbody>
        </table>
      </div>
      <br>
    </div>
  </div>
</div>
<br>
<div class='form'>
  <h2>Dados da Guia</h2>
   <% form_for(:guia, :url => guia_path(@guia), :html => { :method => :put }) do |f| %>
    <label for='guia_numeroguiaprincipal'>Número Guia Prinipal:</label>
    <%= f.text_field :numeroguiaprincipal, 
              :size => 12, 
              :maxlength => 12, 
              :onkeyup => "javascript:somente_numero(this);" %>
    <br>
    <label for='guia_dataemissaoguia'>Data de emissão da guia:</label>
    <%=f.text_field :dataemissaoguia,
                :order => [:day, :month,:year],
                :maxlength => 10,
                :onFocus =>"javascript:this.value = ''",
                :onkeypress => "Mascara('DATA',this,event);"%><br>
    <label for='guia_operadora_id'>Operadora:</label>
    <%= f.select :operadora_id, @operadoras%><br>
    <label for='guia_empresa_id'>Empresa:</label>
    <%= f.select :empresa_id, @empresas%><br>
    <label for='guia_carateratendimento'>Carater Atendimento:</label>
    <%= f.select :carateratendimento, @carateratendimento%><br>
    <label for='guia_tiposaida'>Tipo Saida:</label>
    <%= f.select :tiposaida, @tiposaida, :default => "04"%><br>
    <label for='guia_tipoatendimento'>Tipo Atendimento:</label>
    <%= f.select :tipoatendimento, @tipoatendimento, :default => "03"%><br>
  </div>
  <br>
  <div class='form'>
    <h2>Dados do Beneficiário</h2>
    <label for='guia_numerocarteirabeneficiario'>Nº Carteira:</label>
    <%=f.text_field :numerocarteirabeneficiario, 
              :onkeyup => "javascript:somente_numero(this);", :maxlength => 19%>
    <br>
    <label for='guia_validadecarteirabeneficiario'>Validade Carteira:</label>
    <%=f.text_field :validadecarteirabeneficiario,
                :order => [:day, :month,:year],
                :maxlength => 10,
                :onFocus =>"javascript:this.value = ''",
                :onkeypress => "Mascara('DATA',this,event);"%><br>
    <label for='guia_nomebeneficiario'>Nome:</label>
    <%=f.text_field :nomebeneficiario %><br>
  </div>
  <br>
  <div class='form'>
    <h2>Dados do Solicitante</h2>
    <label for='guia_codigoprestadornaoperadorasolic'>Cod. Prestador Na Operadora:</label>
    <%=f.text_field :codigoprestadornaoperadorasolic, 
              :onkeyup => "javascript:somente_numero(this);", 
              :maxlength => 14 %>
    <br>
    <label for='guia_nomecontratadosolic'>Nome Contratado:</label>
    <%=f.text_field :nomecontratadosolic %><br>
    <label for='guia_nomeprofcontratadosolic'>Nome Prof Contratado:</label>
    <%=f.text_field :nomeprofcontratadosolic %><br>
    <label for='guia_siglaconselhosolic'>Sigla Conselho:</label>
    <%= f.select :siglaconselhosolic, @conselho%><br>
    <label for='guia_numeroconselhosolic'>Numero Conselho:</label>
    <%=f.text_field :numeroconselhosolic, :onkeyup => "javascript:somente_numero(this);" %><br>
    <label for='guia_ufconselhosolic'>Uf Conselho:</label>
    <%= select_uf :guia, :ufconselhosolic %><br>
  </div>
  <p>
    <%= submit_tag "Salvar", :disable_with => "Processando..." %>
  </p>
<% end -%>

<script type="text/javascript">
  //Nº Quantidade Procedimento - Obrigatório
  var procedimento_quantidade = new LiveValidation('procedimento_quantidade',{validMessage: "√"} );
  procedimento_quantidade.add( Validate.Presence, {failureMessage: "Obrigatório!"});
  
  // guia_numeroguiaprincipal
  var guia_numeroguiaprincipal = new LiveValidation('guia_numeroguiaprincipal',{validMessage: "√"});
  guia_numeroguiaprincipal.add( Validate.Length, {is: 12, wrongLengthMessage : "Obrigatório. Contém 12 digítos!"});
  
  // guia_dataemissaoguia
  var guia_dataemissaoguia = new LiveValidation('guia_dataemissaoguia',{validMessage: "√"});
  guia_dataemissaoguia.add( Validate.Length, {is: 10, wrongLengthMessage : "Obrigatório. Formato: dd/mm/aaaa"});
  guia_dataemissaoguia.add( Validate.Presence, {failureMessage: "Obrigatório!"});
  
  // guia_numerocarteirabeneficiario
  var guia_numerocarteirabeneficiario = new LiveValidation('guia_numerocarteirabeneficiario',{validMessage: "√"});
  guia_numerocarteirabeneficiario.add( Validate.Presence, {failureMessage: "Obrigatório!"});
  
  // guia_validadecarteirabeneficiario
  var guia_validadecarteirabeneficiario = new LiveValidation('guia_validadecarteirabeneficiario',{validMessage: "√"});
  guia_validadecarteirabeneficiario.add( Validate.Length, {is: 10, wrongLengthMessage : "Obrigatório. Formato: dd/mm/aaaa"});
  guia_validadecarteirabeneficiario.add( Validate.Presence, {failureMessage: "Obrigatório!"});
  
  // guia_nomebeneficiario
  var guia_nomebeneficiario = new LiveValidation('guia_nomebeneficiario',{validMessage: "√"});
  guia_nomebeneficiario.add( Validate.Presence, {failureMessage: "Obrigatório!"});
  
  // guia_codigoprestadornaoperadorasolic
  var guia_codigoprestadornaoperadorasolic = new LiveValidation('guia_codigoprestadornaoperadorasolic',{validMessage: "√"}); 
  guia_codigoprestadornaoperadorasolic.add( Validate.Presence, {failureMessage: "Obrigatório!"});
  
  //guia_nomecontratadosolic
  var guia_nomecontratadosolic = new LiveValidation('guia_nomecontratadosolic',{validMessage: "√"}); 
  guia_nomecontratadosolic.add( Validate.Presence, {failureMessage: "Obrigatório!"});
  
  //guia_nomeprofcontratadosolic
  var guia_nomeprofcontratadosolic = new LiveValidation('guia_nomeprofcontratadosolic',{validMessage: "√"}); 
  guia_nomeprofcontratadosolic.add( Validate.Presence, {failureMessage: "Obrigatório!"});
  
  // guia_numeroconselhosolic
  var guia_numeroconselhosolic = new LiveValidation('guia_numeroconselhosolic',{validMessage: "√"}); 
  guia_numeroconselhosolic.add( Validate.Presence, {failureMessage: "Obrigatório!"});
  
  
  function preencheCheckBox(t){
    if ( t.id != null){
      var s = t.id
      for (var i = 0; i < s.length; i++){
        var x = s.charAt(i)
        if (  x == "_"){
          checkBox = document.getElementById('checkBoxProc_'+s.substring(i+1,s.length));
          checkBox.value = t.value;
          checkBox.checked = true;
          if (t.value == null || t.value == ""){
            checkBox.checked = false;
          }
          break;
        }
      }
    }
  }
  
  function livre(e){
    textField = document.getElementById('procedimento_quantidade')
    if (textField.value == null || textField.value == ""){
      textField.focus()
      e.checked = false;
      disabledCheckBox(true);
      disabledTextField(true);
    }else {
    disabledCheckBox(false);
    disabledTextField(false);
    document.getElementById('submitbutton1').disabled = false;
  }
}

function somente_numero(campo){
  var digits="0123456789"
  var campo_temp
  for (var i=0;i<campo.value.length;i++){
    campo_temp=campo.value.substring(i,i+1)
    if (digits.indexOf(campo_temp)==-1){
      campo.value = campo.value.substring(0,i);
      break;
    }
  }
}

function disabilitaAllRadio(t){
  if(t.value != null && t.value != ""){
    for (var i=0;i<document.forms[0].elements.length;i++) {
      var e = document.forms[0].elements[i];
      if (e.type == 'radio'){
        e.disabled = false;
      }
    }
  }
}

function disabledCheckBox(flag) {
  for (var i=0;i<document.forms[0].elements.length;i++) {
    var e = document.forms[0].elements[i];
    if ( (e.type=='checkbox')) {
      e.checked = false;
      e.disabled = flag;
    }
  }
}

function disabledTextField(flag) {
  for (var i=0;i<document.forms[0].elements.length;i++) {
    var e = document.forms[0].elements[i];
    if (e.id != 'procedimento_descricao' && e.id != 'procedimento_quantidade'){
      if ( (e.type=='text')) {
        e.value = "";
        e.disabled = flag;
      }
    }
    
  }
}

function marcaDez(e){
  textField = document.getElementById('procedimento_quantidade')
  if (textField.value == null || textField.value == ""){
    textField.focus()
    e.checked = false;
    disabledCheckBox(true);
    disabledTextField(true);
  }else {
  disabledCheckBox(true);
  disabledTextField(true)
  for (var i=1; i<= 10; i++){
    checkBox = document.getElementById('checkBoxProc_'+i);
    checkBox.checked = true;
    checkBox.disabled = false;
    document.getElementById('submitbutton1').disabled = false;
    textField = document.getElementById('textFieldProc_'+i);
    textField.disabled = false;
    if (textField.id == 'textFieldProc_3'){
      textField.value = document.getElementById('procedimento_quantidade').value * 2;
      checkBox.value = textField.value;
    }else{
    textField.value = document.getElementById('procedimento_quantidade').value;
    checkBox.value = textField.value;
  }
}
}
}

function marcaUmAOnze(e){
  textField = document.getElementById('procedimento_quantidade')
  if (textField.value == null || textField.value == ""){
    textField.focus()
    e.checked = false;
    disabledCheckBox(true);
    disabledTextField(true);
  }else {
  disabledCheckBox(true);
  disabledTextField(true)
  for (var i=1; i<= 10; i++){
    checkBox = document.getElementById('checkBoxProc_'+i);
    checkBox.checked = true;
    checkBox.disabled = false;
    document.getElementById('submitbutton1').disabled = false;
    textField = document.getElementById('textFieldProc_'+i);
    textField.disabled = false;
    if (textField.id == 'textFieldProc_3'){
      textField.value = document.getElementById('procedimento_quantidade').value * 2;
    }else{
    textField.value = document.getElementById('procedimento_quantidade').value;
  }
}
checkBox = document.getElementById('checkBoxProc_'+28);
checkBox.checked = true;
checkBox.disabled = false;

textField = document.getElementById('textFieldProc_'+28);
textField.disabled = false;
textField.value = document.getElementById('procedimento_quantidade').value;
}
}

function marcaUmACinco(e){
  textField = document.getElementById('procedimento_quantidade')
  if (textField.value == null || textField.value == ""){
    textField.focus()
    e.checked = false;
    disabledCheckBox(true);
    disabledTextField(true);
  }else {
  disabledCheckBox(true);
  disabledTextField(true)
  for (var i=1; i<= 5; i++){
    checkBox = document.getElementById('checkBoxProc_'+i);
    checkBox.checked = true;
    checkBox.disabled = false;
    document.getElementById('submitbutton1').disabled = false;
    textField = document.getElementById('textFieldProc_'+i);
    textField.disabled = false;
    if (textField.id == 'textFieldProc_3'){
      textField.value = document.getElementById('procedimento_quantidade').value * 2;
    }else{
    textField.value = document.getElementById('procedimento_quantidade').value;
  }
}
}
}

function marcaSeisADez(e){
  textField = document.getElementById('procedimento_quantidade')
  if (textField.value == null || textField.value == ""){
    textField.focus()
    e.checked = false;
    disabledCheckBox(true);
    disabledTextField(true);
  }else {
  disabledCheckBox(true);
  disabledTextField(true)
  for (var i=6; i<= 10; i++){
    checkBox = document.getElementById('checkBoxProc_'+i);
    checkBox.checked = true;
    checkBox.disabled = false;
    document.getElementById('submitbutton1').disabled = false;
    textField = document.getElementById('textFieldProc_'+i);
    textField.disabled = false;
    if (textField.id == 'textFieldProc_3'){
      textField.value = document.getElementById('procedimento_quantidade').value * 2;
    }else{
    textField.value = document.getElementById('procedimento_quantidade').value;
  }
}
}
}

function marcaOnze(e){
  textField = document.getElementById('procedimento_quantidade')
  if (textField.value == null || textField.value == ""){
    textField.focus()
    e.checked = false;
    disabledCheckBox(true);
    disabledTextField(true);
  }else {
  disabledCheckBox(true);
  disabledTextField(true)
  checkBox = document.getElementById('checkBoxProc_'+28);
  checkBox.checked = true;
  checkBox.disabled = false;
  document.getElementById('submitbutton1').disabled = false;
  textField = document.getElementById('textFieldProc_'+28);
  textField.disabled = false;
  textField.value = document.getElementById('procedimento_quantidade').value;
}
}

_translations = {
  "OK": "OK",
  "Now": "Agora",
  "Today": "Hoje"
}

Date.weekdays = $w("D S T Q Q S S");
Date.months = $w("Janeiro Fevereiro Março Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro" );

function Mascara(tipo, campo, teclaPress) {
  if (window.event)
    {
      var tecla = teclaPress.keyCode;
    } else {
    tecla = teclaPress.which;
  }
  
  var s = new String(campo.value);
  // Remove todos os caracteres à seguir: ( ) / - . e espaço, para tratar a string denovo.
  s = s.replace(/(\.|\(|\)|\/|\-| )+/g,'');
  tam = s.length + 1;
  if ( tecla != 9 && tecla != 8 ) {
    switch (tipo)
    {
      case 'CPF' :
      if (tam > 3 && tam < 7)
        campo.value = s.substr(0,3) + '.' + s.substr(3, tam);
      if (tam >= 7 && tam < 10)
        campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,tam-6);
      if (tam >= 10 && tam < 12)
        campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,3) + '-' + s.substr(9,tam-9);
      break;
      case 'CNPJ' :
      
      if (tam > 2 && tam < 6)
        campo.value = s.substr(0,2) + '.' + s.substr(2, tam);
      if (tam >= 6 && tam < 9)
        campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,tam-5);
      if (tam >= 9 && tam < 13)
        campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,tam-8);
      if (tam >= 13 && tam < 15)
        campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,4)+ '-' + s.substr(12,tam-12);
      break;
      
      case 'TEL' :
      if (tam > 2 && tam < 4)
        campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,tam);
      if (tam >= 7 && tam < 11)
        campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,4) + '-' + s.substr(6,tam-6);
      break;
      case 'DATA' :
      if (tam > 2 && tam < 4)
        campo.value = s.substr(0,2) + '/' + s.substr(2, tam);
      if (tam > 4 && tam < 10)
        campo.value = s.substr(0,2) + '/' + s.substr(2,2) + '/' + s.substr(4,tam-4);
      break;
    }
  }
}

</script>

